package com.boot.util;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DemoUtil {
	
	public static void main(String[] args) {
		//System.out.println(new BigDecimal("0.02").equals(new BigDecimal("0.01")));
		Date now=new Date();//当前时间
		long nowlong=now.getTime();//当前时间毫秒数
		long neededParseDate=1505001229849l;//需要转换的时间\
		Date parsedDate=new Date(neededParseDate);
		//先判断年
		int nowyear=now.getYear();//当前时间的年份
		int parseYear=parsedDate.getYear();
		if(nowyear==parseYear){//发布时间为本年,可将年省略比如:6月16日,10天前,10个小时前,5分钟前,刚刚
			long dlong=(nowlong-neededParseDate)/1000;//秒数之差
			if(dlong<60){//刚刚
				System.out.println("刚刚");
				//return "刚刚";
			}else if(dlong<60*60){//1小时内
				System.out.println(dlong/60+"分钟前");
				//return dlong/60+"分钟前";
			}else if(dlong<60*60*24){//24小时内
				System.out.println(dlong/(60*60)+"小时前");
				//return dlong/(60*24)+"小时前";
			}else if(dlong<60*60*24*28){//1个月内
				System.out.println(dlong/(60*60*24)+"天前");
				//return dlong/(60*60*24)+"天前");
			}else {//超过1个月直接显示成6月15日的格式
				System.out.println((parsedDate.getMonth()+1)+"月"+parsedDate.getDate()+"日");
			}
		}else{//整个时间带有年比如:2018年6月16日
			System.out.println(parseYear%100+"年"+(parsedDate.getMonth()+1)+"月"+parsedDate.getDate()+"日");
		}
		
		
    	System.out.println(parsedDate);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        //将毫秒数字符串时间转成long值
        //long addtime=Long.parseLong(longtime);
        String date=sdf.format(neededParseDate);
        System.out.println(nowlong);
	}
	
	 /**
     * 将毫秒字符串转成日期
     * @param longtime
     * @return
     */
    public static String parseToDate(String longtime){
    	long times=new Date().getTime();
    	System.out.println(times);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        //将毫秒数字符串时间转成long值
        //long addtime=Long.parseLong(longtime);
        String date=sdf.format(times);
        return date;
    }
    /**
     * 将视频的秒转换成字符串
     * @param seconds
     * @return
     */
    public static String secondToTime(int seconds){
        String time="";
        int hour=seconds/3600;
        int min=seconds/60;
        int second=seconds%60;
        if(hour>0){
            time=hour+":"+min+":"+second;
        }else if(min>0){
            time=min+":"+second;
        }else{
            time=second+"";
        }
        return time;
    }
    
    
    
}
